package br.com.bbcalibracao.bean;

import java.io.Serializable;
import java.util.Date;

import br.com.bbcalibracao.util.Formatador;

public class Calibracao implements Serializable{

	private static final long serialVersionUID = -261492231828641727L;
	private int id;
	private Date dataCalibracao;
	private String notaFiscal;
	private String notaFiscalServico;
	private String nomeCliente;
	private String cnpj;
	private String telefone;
	private String email;
	private String cidade;
	private String uf;
	private String regiao;
	private String bandeira;
	private String linhaEquipamento;
	private String descricaoEquipamento;
	private String numeroSerie;
	private String numeroSelo;
	private String nomeInspetor;
	private int periodoProximaCalibracao;
	private Date dataProximaCalibracao;
	private String bsqm;
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public Date getDataCalibracao() {
		return dataCalibracao;
	}
	public String getDataCalibracaoFormatada() {
		return Formatador.formatarData(dataCalibracao);
	}
	public void setDataCalibracao(Date dataCalibracao) {
		this.dataCalibracao = dataCalibracao;
	}
	public String getNotaFiscal() {
		return notaFiscal;
	}
	public void setNotaFiscal(String notaFiscal) {
		this.notaFiscal = notaFiscal;
	}
	public String getNotaFiscalServico() {
		return notaFiscalServico;
	}
	public void setNotaFiscalServico(String notaFiscalServico) {
		this.notaFiscalServico = notaFiscalServico;
	}
	public String getNomeCliente() {
		return nomeCliente;
	}
	public void setNomeCliente(String nomeCliente) {
		this.nomeCliente = nomeCliente;
	}
	public String getCnpj() {
		return cnpj;
	}
	public String getCnpjFormatado() {
		if (isCpf())
			return Formatador.formatarCpf(cnpj);
		else
			return Formatador.formatarCnpj(cnpj);
	}
	public void setCnpj(String cnpj) {
		this.cnpj = cnpj;
	}
	public String getTelefone() {
		return telefone;
	}
	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getCidade() {
		return cidade;
	}
	public void setCidade(String cidade) {
		this.cidade = cidade;
	}
	public String getUf() {
		return uf;
	}
	public void setUf(String uf) {
		this.uf = uf;
	}
	public String getRegiao() {
		return regiao;
	}
	public void setRegiao(String regiao) {
		this.regiao = regiao;
	}
	public String getBandeira() {
		return bandeira;
	}
	public void setBandeira(String bandeira) {
		this.bandeira = bandeira;
	}
	public String getLinhaEquipamento() {
		return linhaEquipamento;
	}
	public void setLinhaEquipamento(String linhaEquipamento) {
		this.linhaEquipamento = linhaEquipamento;
	}
	public String getDescricaoEquipamento() {
		return descricaoEquipamento;
	}
	public void setDescricaoEquipamento(String descricaoEquipamento) {
		this.descricaoEquipamento = descricaoEquipamento;
	}
	public String getNumeroSerie() {
		return numeroSerie;
	}
	public void setNumeroSerie(String numeroSerie) {
		this.numeroSerie = numeroSerie;
	}
	public String getNumeroSelo() {
		return numeroSelo;
	}
	public void setNumeroSelo(String numeroSelo) {
		this.numeroSelo = numeroSelo;
	}
	public String getNomeInspetor() {
		return nomeInspetor;
	}
	public void setNomeInspetor(String nomeInspetor) {
		this.nomeInspetor = nomeInspetor;
	}
	public int getPeriodoProximaCalibracao() {
		return periodoProximaCalibracao;
	}
	public void setPeriodoProximaCalibracao(int periodoProximaCalibracao) {
		this.periodoProximaCalibracao = periodoProximaCalibracao;
	}
	public Date getDataProximaCalibracao() {
		return dataProximaCalibracao;
	}
	public void setDataProximaCalibracao(Date dataProximaCalibracao) {
		this.dataProximaCalibracao = dataProximaCalibracao;
	}
	public String getDataProximaCalibracaoFormatada() {
		return Formatador.formatarData(dataProximaCalibracao);
	}
	public String getStatus() {
		Date hoje = new Date();
		if (hoje.after(this.dataProximaCalibracao)){
			return "Vencido";
		} else {
			return "OK";
		}
	}
	public boolean isVencido() {
		Date hoje = new Date();
		if (hoje.after(this.dataProximaCalibracao)){
			return true;
		} else {
			return false;
		}
	}
	
	public boolean isCpf() {
		String documento = this.cnpj.replaceAll("\\.", "").replaceAll("\\-", "").replaceAll("\\/", "");
		if (documento != null && documento.length() == 11)
			return true;
		else
			return false;
	}
	public String getBsqm() {
		return bsqm;
	}
	public void setBsqm(String bsqm) {
		this.bsqm = bsqm;
	}
	

}
